package com.byyy.ccts.modules.cc.service;

import com.byyy.ccts.core.common.service.ICommonService;
import com.byyy.ccts.modules.api.entity.DeliveryVo;
import com.byyy.ccts.modules.cc.entity.ccts.PsZcdHz;
import com.byyy.ccts.modules.cc.entity.vo.CkdInfo;

import java.util.Date;
import java.util.List;

/**
 * Created by DELL on 2018-6-14.
 */
public interface IPsZcdService extends ICommonService<PsZcdHz> {

    /** 对外开放接口-配送装车单下发 */
    void delivery(DeliveryVo deliveryVo);

    /** 定时同步LMIS冷链装车单数据 */
    void syncLmisZcd();

    /** 发车确认 */
    String facConfirm(List<String> zcdNos);

    /** 配送交接前的验证工作 */
    String beforeHandOver(String zcdNo, Date handOverDate, List<String> danjNos);

    /** 配送交接 */
    String handOver(String zcdNo, Date handOverDate, List<String> danjNos);

    /** 冷藏车关联 */
    String carRelation(List<String> zhuangcdNos, String chillCarId, String pointOne, String pointTwo);

    /** 单据作废 */
    String cancel(List<String> zcdNos);

    /** 装车单同步 */
    String syncZcd(String zcdNo);

    /** 装车启运信息反馈 */
    String back(List<String> zcdNos);

    /** API-发车确认 */
    String facConfirmForApi(String zcdNo);

    /** API-配送交接 */
    String handOverForApi(String zcdNo, String address, boolean isWholePsjj);

    /** 配送状态比较 */
    String psStateCompare(PsZcdHz zcdHz, String standardState);

    /** 根据流水号或者业务单号查询出库单信息以及流程状态 */
    CkdInfo queryCkdInfo(String liushBarcode);

}
